Merhaba İbrahim, bunu yapmanın farklı yolları vardır ve maalesef uzmanlık alanım bu değil. Bu yüzden yazdığım teknik uzunsa kusuruma bakma. Buyur
AlarmManager alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(context, ResetDataReceiver.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.SECOND, 0);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, alarmIntent);
Gece yarısı sıfırlama işlemi için bir BroadcastReceiver sınıfı oluşturmanız gerekiyor. Bu sınıf, AlarmManager tarafından tetiklendiğinde çalışacak olan işlemleri içerecektir. Örneğin, aşağıdaki kodu kullanarak ResetDataReceiver adlı bir BroadcastReceiver sınıfı oluşturabilirsin
public class ResetDataReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
TextView textView = (TextView) findViewById(R.id.my_textview);
textView.setText("");
}
}
BroadcastReceiver sınıfı, AlarmManager tarafından tetiklendiğinde "onReceive()" yöntemi çağrılır. Bu yöntemi kullanarak, verilerinizi sıfırlayabilirsiniz. Örneğin, textview'ın içeriğini sıfırlamak için aşağıdaki kodu kullanabilirsin
TextView textView = (TextView) findViewById(R.id.my_textview);
textView.setText("");